package com.xiaoshuidi.cloud.module.contract.service.approval;

import java.util.*;
import javax.validation.*;

import com.xiaoshuidi.cloud.module.contract.controller.admin.approval.vo.ContractActiveAssociationCreateReqVO;
import com.xiaoshuidi.cloud.module.contract.controller.admin.approval.vo.ContractActiveAssociationUpdateReqVO;
import com.xiaoshuidi.cloud.module.contract.dal.dataobject.approval.ContractActiveAssociationDO;

/**
 * 业务和审批流关联 Service 接口
 *
 * @author 合房租赁
 */
public interface ContractActiveAssociationService {

    /**
     * 创建业务和审批流关联
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createActiveAssociation( ContractActiveAssociationCreateReqVO createReqVO);

    /**
     * 更新业务和审批流关联
     *
     * @param updateReqVO 更新信息
     */
    void updateActiveAssociation( ContractActiveAssociationUpdateReqVO updateReqVO);

    /**
     * 删除业务和审批流关联
     *
     * @param id 编号
     */
    void deleteActiveAssociation(Long id);

    /**
     * 获得业务和审批流关联
     *
     * @param id 编号
     * @return 业务和审批流关联
     */
    ContractActiveAssociationDO getActiveAssociation(Long id);

    /**
     * 获得业务和审批流关联列表
     *
     * @param ids 编号
     * @return 业务和审批流关联列表
     */
    List<ContractActiveAssociationDO> getActiveAssociationList(Collection<Long> ids);


}
